let _debounceTimeout = null;
let _throttleRuning = false;

/**
 * @description 防抖  在一段时间中，再次触发会重新计时
 * @param {Function} 执行函数
 * @param {Number} delay 延时ms   
 */
export const debounce = (fn, delay = 500) => {
	clearTimeout(_debounceTimeout);
	_debounceTimeout = setTimeout(() => {
		fn();
	}, delay);
};

/**
 * @description  节流  一段时间中，只会执行一次
 * @param {Function} 执行函数
 * @param {Number} delay 延时ms   
 */
export const throttle = (fn, delay = 500) => {
	if (_throttleRuning) {
		return;
	}
	_throttleRuning = true;
	fn();
	setTimeout(() => {
		_throttleRuning = false;
	}, delay);
};
